/*
 * FILE: prtosconf.h
 *
 * Config parameters for both, PRTOS and partitions
 *
 * www.prtos.org
 */

#ifndef _PRTOS_ARCH_PRTOSCONF_H_
#define _PRTOS_ARCH_PRTOSCONF_H_

#define PRTOS_HM_EV_X86_DIVIDE_ERROR (PRTOS_HM_MAX_GENERIC_EVENTS + 0)
#define PRTOS_HM_EV_X86_DEBUG (PRTOS_HM_MAX_GENERIC_EVENTS + 1)
#define PRTOS_HM_EV_X86_NMI_INTERRUPT (PRTOS_HM_MAX_GENERIC_EVENTS + 2)
#define PRTOS_HM_EV_X86_BREAKPOINT (PRTOS_HM_MAX_GENERIC_EVENTS + 3)
#define PRTOS_HM_EV_X86_OVERFLOW (PRTOS_HM_MAX_GENERIC_EVENTS + 4)
#define PRTOS_HM_EV_X86_BOUND_RANGE_EXCEEDED (PRTOS_HM_MAX_GENERIC_EVENTS + 5)
#define PRTOS_HM_EV_X86_INVALID_OPCODE (PRTOS_HM_MAX_GENERIC_EVENTS + 6)
#define PRTOS_HM_EV_X86_DEVICE_NOT_AVAILABLE (PRTOS_HM_MAX_GENERIC_EVENTS + 7)
#define PRTOS_HM_EV_X86_DOUBLE_FAULT (PRTOS_HM_MAX_GENERIC_EVENTS + 8)
#define PRTOS_HM_EV_X86_COPROCESSOR_SEGMENT_OVERRUN (PRTOS_HM_MAX_GENERIC_EVENTS + 9)
#define PRTOS_HM_EV_X86_INVALID_TSS (PRTOS_HM_MAX_GENERIC_EVENTS + 10)
#define PRTOS_HM_EV_X86_SEGMENT_NOT_PRESENT (PRTOS_HM_MAX_GENERIC_EVENTS + 11)
#define PRTOS_HM_EV_X86_STACK_FAULT (PRTOS_HM_MAX_GENERIC_EVENTS + 12)
#define PRTOS_HM_EV_X86_GENERAL_PROTECTION (PRTOS_HM_MAX_GENERIC_EVENTS + 13)
#define PRTOS_HM_EV_X86_PAGE_FAULT (PRTOS_HM_MAX_GENERIC_EVENTS + 14)
#define PRTOS_HM_EV_X86_X87_FPU_ERROR (PRTOS_HM_MAX_GENERIC_EVENTS + 16)
#define PRTOS_HM_EV_X86_ALIGNMENT_CHECK (PRTOS_HM_MAX_GENERIC_EVENTS + 17)
#define PRTOS_HM_EV_X86_MACHINE_CHECK (PRTOS_HM_MAX_GENERIC_EVENTS + 18)
#define PRTOS_HM_EV_X86_SIMD_FLOATING_POINT (PRTOS_HM_MAX_GENERIC_EVENTS + 19)

#define PRTOS_HM_MAX_EVENTS (PRTOS_HM_MAX_GENERIC_EVENTS + 20)

struct prtos_conf_hyp_arch {};

struct prtos_conf_part_arch {};

struct prtos_conf_io_port {
    prtos_u32_t map[2048];
};

#endif
